In recent years several multi-dimensional trellis codes have been discovered which provide a better performance against Gaussian noise than two-dimensional trellis codes of similar complexity. Many good multi-dimensional trellis codes have minimum-distance error patterns which are only one or two symbol intervals long. Unless indicated otherwise, symbols herein are assumed to be two-dimensional.
When noise has a Gaussian distribution, the performance of the trellis code is determined by a minimum-distance of the trellis code, and the lengths of the minimum-distance error patterns do not directly affect the performance. However, when the noise probability density exhibits long tails (indicating a high probability for large noise peaks), the performance can be noticeably degraded when minimum-distance error patterns are very short. Therefore, for such noise, the advantage of such multi-dimensional trellis codes may be lost. In practice, large noise peaks may be caused by impulsive noise or by signal-dependent impairments such as non-linear distortion or pulse code modulation (PCM) noise found in the analog public switched telephone network (PSTN).
In multi-dimensional trellis codes, short minimum-distance error patterns are created by parallel transitions in the trellis diagram. A method which is known in the art as multi-level coding can eliminate these short minimum-distance error patterns. In multi-level coding, extra parity bits are added in the transmitter so that the receiver can detect and correct parallel transition errors. A special form of multi-level coding involves single parity-check (SPC) block codes.
In data transmission systems, the received signal points at the input of a decision device may be rotated relative to the transmitted signal points. This may be the result of either an initial carrier phase offset, or a sudden phase hit during data transmission. Signal constellations typically have phase ambiguities for phase rotations of 90.degree., 180.degree. and 270.degree., which means that rotation takes a valid signal point to another valid signal point. Therefore, a decision-directed phase-locked loop, as typically employed in data transmission receivers, may lock onto a carrier phase that is offset by 90.degree., 180.degree. or 270.degree.. If the phase offset goes undetected, such phase offsets can create long strings of bit errors that may last indefinitely. In uncoded systems, such phase ambiguities can be eliminated easily using differential encoding techniques.
The problem is more complicated in a trellis coded system, where after the rotation, the resulting sequence of signal points may not be a valid trellis coded sequence. Many trellis codes have been discovered in recent years which are rotationally-invariant, so that if a sequence is rotated by m.multidot.90.degree. (where m is an integer), another valid code sequence is obtained. Using differential encoding, these trellis codes can be made transparent to m.multidot.90.degree. rotations.
When a second-level code is added to a rotationally-invariant trellis code, the resulting multi-level code may not be rotationally-invariant. Thus, there is a need for a device and a method for obtaining rotationally-invariant encoding of multi-level codes.